home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60src.lha / Vim / vim60 / src / Make_manx.mak < prev    next >
Encoding:
Makefile  |  2001-03-25  |  5.7 KB  |  317 lines

  1. #
  2. # Makefile for VIM on the Amiga, using Aztec/Manx C 5.0 or later
  3. #
  4. # Note: Not all dependencies are included. This was done to avoid having
  5. #    to compile everything when a global variable or function is added.
  6. #    Careful when changing a global struct or variable!
  7. #
  8.  
  9. #>>>>> choose options:
  10.  
  11. ### See feature.h for a list of optionals.
  12. ### Any other defines can be included here.
  13. DEFINES =
  14.  
  15. #>>>>> if HAVE_TGETENT is defined obj/termlib.o has to be used
  16. #TERMLIB = obj/termlib.o
  17. TERMLIB =
  18.  
  19. #>>>>> choose between debugging (-bs) or optimizing (-so)
  20. OPTIONS = -so
  21. #OPTIONS = -bs
  22.  
  23. #>>>>> end of choices
  24. ###########################################################################
  25.  
  26. CFLAGS = $(OPTIONS) -wapruq -ps -qf -Iproto $(DEFINES) -DAMIGA
  27.  
  28. LIBS = -lc16
  29. SYMS = vim.syms
  30. CC = cc
  31. LN = ln
  32. LNFLAGS = +q
  33. SHELL = csh
  34. REN = $(SHELL) -c mv -f
  35. DEL = $(SHELL) -c rm -f
  36.  
  37. SRC =    buffer.c \
  38.     charset.c \
  39.     diff.c \
  40.     digraph.c \
  41.     edit.c \
  42.     eval.c \
  43.     ex_cmds.c \
  44.     ex_cmds2.c \
  45.     ex_docmd.c \
  46.     ex_getln.c \
  47.     fileio.c \
  48.     fold.c \
  49.     getchar.c \
  50.     main.c \
  51.     mark.c \
  52.     memfile.c \
  53.     memline.c \
  54.     menu.c \
  55.     message.c \
  56.     misc1.c \
  57.     misc2.c \
  58.     move.c \
  59.     mbyte.c \
  60.     normal.c \
  61.     ops.c \
  62.     option.c \
  63.     os_amiga.c \
  64.     quickfix.c \
  65.     regexp.c \
  66.     screen.c \
  67.     search.c \
  68.     syntax.c \
  69.     tag.c \
  70.     term.c \
  71.     ui.c \
  72.     undo.c \
  73.     window.c \
  74.     version.c
  75.  
  76. INCL = vim.h feature.h keymap.h macros.h ascii.h term.h structs.h os_amiga.h
  77.  
  78. OBJ =    obj/buffer.o \
  79.     obj/charset.o \
  80.     obj/diff.o \
  81.     obj/digraph.o \
  82.     obj/edit.o \
  83.     obj/eval.o \
  84.     obj/ex_cmds.o \
  85.     obj/ex_cmds2.o \
  86.     obj/ex_docmd.o \
  87.     obj/ex_getln.o \
  88.     obj/fileio.o \
  89.     obj/fold.o \
  90.     obj/getchar.o \
  91.     obj/main.o \
  92.     obj/mark.o \
  93.     obj/memfile.o \
  94.     obj/memline.o \
  95.     obj/menu.o \
  96.     obj/message.o \
  97.     obj/misc1.o \
  98.     obj/misc2.o \
  99.     obj/move.o \
  100.     obj/mbyte.o \
  101.     obj/normal.o \
  102.     obj/ops.o \
  103.     obj/option.o \
  104.     obj/os_amiga.o \
  105.     obj/quickfix.o \
  106.     obj/regexp.o \
  107.     obj/screen.o \
  108.     obj/search.o \
  109.     obj/syntax.o \
  110.     obj/tag.o \
  111.     obj/term.o \
  112.     obj/ui.o \
  113.     obj/undo.o \
  114.     obj/window.o \
  115.     $(TERMLIB)
  116.  
  117. PRO =    proto/buffer.pro \
  118.     proto/charset.pro \
  119.     proto/diff.pro \
  120.     proto/digraph.pro \
  121.     proto/edit.pro \
  122.     proto/eval.pro \
  123.     proto/ex_cmds.pro \
  124.     proto/ex_cmds2.pro \
  125.     proto/ex_docmd.pro \
  126.     proto/ex_getln.pro \
  127.     proto/fileio.pro \
  128.     proto/fold.pro \
  129.     proto/getchar.pro \
  130.     proto/main.pro \
  131.     proto/mark.pro \
  132.     proto/memfile.pro \
  133.     proto/memline.pro \
  134.     proto/menu.pro \
  135.     proto/message.pro \
  136.     proto/misc1.pro \
  137.     proto/misc2.pro \
  138.     proto/move.pro \
  139.     proto/mbyte.pro \
  140.     proto/normal.pro \
  141.     proto/ops.pro \
  142.     proto/option.pro \
  143.     proto/os_amiga.pro \
  144.     proto/quickfix.pro \
  145.     proto/regexp.pro \
  146.     proto/screen.pro \
  147.     proto/search.pro \
  148.     proto/syntax.pro \
  149.     proto/tag.pro \
  150.     proto/term.pro \
  151.     proto/termlib.pro \
  152.     proto/ui.pro \
  153.     proto/undo.pro \
  154.     proto/window.pro
  155.  
  156. all: Vim xxd/Xxd
  157.  
  158. Vim: obj $(OBJ) version.c version.h
  159.     $(CC) $(CFLAGS) version.c -o obj/version.o
  160.     $(LN) $(LNFLAGS) -m -o Vim $(OBJ) obj/version.o $(LIBS)
  161.  
  162. debug: obj $(OBJ) version.c version.h
  163.     $(CC) $(CFLAGS) version.c -o obj/version.o
  164.     $(LN) $(LNFLAGS) -m -g -o Vim $(OBJ) obj/version.o $(LIBS)
  165.  
  166. xxd/Xxd: xxd/xxd.c
  167.     $(SHELL) -c cd xxd; make -f Make_amiga.mak; cd ..
  168.  
  169. # Making prototypes with Manx has been removed, because it caused too many
  170. # problems.
  171. #proto: $(SYMS) $(PRO)
  172.  
  173. obj:
  174.     makedir obj
  175.  
  176. tags: $(SRC) $(INCL)
  177.     $(SHELL) -c ctags $(SRC) *.h
  178.  
  179. # can't use delete here, too many file names
  180. clean:
  181.     $(DEL) $(OBJ) obj/version.o \
  182.         obj/termlib.o Vim $(SYMS) xxd/Xxd
  183.  
  184. test:
  185.     $(SHELL) -c cd testdir; make -f Make_amiga.mak; cd ..
  186.  
  187. $(SYMS): $(INCL) $(PRO)
  188.     $(CC) $(CFLAGS) -ho$(SYMS) vim.h
  189.  
  190. ###########################################################################
  191.  
  192. # Unfortunately, Manx's make doesn't understand a .c.o rule, so each
  193. # compilation command has to be given explicitly.
  194.  
  195. CCSYM = $(CC) $(CFLAGS) -hi$(SYMS) -o
  196. CCNOSYM = $(CC) $(CFLAGS) -o
  197.  
  198. $(OBJ): $(SYMS)
  199.  
  200. obj/buffer.o:    buffer.c
  201.     $(CCSYM) $@ buffer.c
  202.  
  203. obj/charset.o:    charset.c
  204.     $(CCSYM) $@ charset.c
  205.  
  206. obj/diff.o:    diff.c
  207.     $(CCSYM) $@ diff.c
  208.  
  209. obj/digraph.o:    digraph.c
  210.     $(CCSYM) $@ digraph.c
  211.  
  212. obj/edit.o:    edit.c
  213.     $(CCSYM) $@ edit.c
  214.  
  215. obj/eval.o:    eval.c
  216.     $(CCSYM) $@ eval.c
  217.  
  218. obj/ex_cmds.o:    ex_cmds.c
  219.     $(CCSYM) $@ ex_cmds.c
  220.  
  221. obj/ex_cmds2.o:    ex_cmds2.c
  222.     $(CCSYM) $@ ex_cmds2.c
  223.  
  224. # Don't use $(SYMS) here, because ex_docmd.c defines DO_DECLARE_EXCMD
  225. obj/ex_docmd.o:    ex_docmd.c ex_cmds.h
  226.     $(CCNOSYM) $@ ex_docmd.c
  227.  
  228. obj/ex_getln.o:    ex_getln.c
  229.     $(CCSYM) $@ ex_getln.c
  230.  
  231. obj/fileio.o:    fileio.c
  232.     $(CCSYM) $@ fileio.c
  233.  
  234. obj/fold.o:    fold.c
  235.     $(CCSYM) $@ fold.c
  236.  
  237. obj/getchar.o:    getchar.c
  238.     $(CCSYM) $@ getchar.c
  239.  
  240. # Don't use $(SYMS) here, because main.c defines EXTERN
  241. obj/main.o:    main.c option.h globals.h
  242.     $(CCNOSYM) $@ main.c
  243.  
  244. obj/mark.o:    mark.c
  245.     $(CCSYM) $@ mark.c
  246.  
  247. obj/memfile.o:    memfile.c
  248.     $(CCSYM) $@ memfile.c
  249.  
  250. obj/memline.o:    memline.c
  251.     $(CCSYM) $@ memline.c
  252.  
  253. obj/menu.o:    menu.c
  254.     $(CCSYM) $@ menu.c
  255.  
  256. # Don't use $(SYMS) here, because message.c defines MESSAGE_FILE
  257. obj/message.o:    message.c
  258.     $(CCNOSYM) $@ message.c
  259.  
  260. obj/misc1.o:    misc1.c
  261.     $(CCSYM) $@ misc1.c
  262.  
  263. obj/misc2.o:    misc2.c
  264.     $(CCSYM) $@ misc2.c
  265.  
  266. obj/move.o:    move.c
  267.     $(CCSYM) $@ move.c
  268.  
  269. obj/mbyte.o: mbyte.c
  270.     $(CCSYM) $@ mbyte.c
  271.  
  272. obj/normal.o:    normal.c
  273.     $(CCSYM) $@ normal.c
  274.  
  275. obj/ops.o:    ops.c
  276.     $(CCSYM) $@ ops.c
  277.  
  278. # Don't use $(SYMS) here, because option.h defines variables here
  279. obj/option.o:    option.c
  280.     $(CCNOSYM) $@ option.c
  281.  
  282. obj/os_amiga.o:    os_amiga.c
  283.     $(CCSYM) $@ os_amiga.c
  284.  
  285. obj/quickfix.o:    quickfix.c
  286.     $(CCSYM) $@ quickfix.c
  287.  
  288. obj/regexp.o:    regexp.c
  289.     $(CCSYM) $@ regexp.c
  290.  
  291. obj/screen.o:    screen.c
  292.     $(CCSYM) $@ screen.c
  293.  
  294. obj/search.o:    search.c
  295.     $(CCSYM) $@ search.c
  296.  
  297. obj/syntax.o:    syntax.c
  298.     $(CCSYM) $@ syntax.c
  299.  
  300. obj/tag.o:    tag.c
  301.     $(CCSYM) $@ tag.c
  302.  
  303. obj/term.o:    term.c term.h
  304.     $(CCSYM) $@ term.c
  305.  
  306. obj/termlib.o:    termlib.c
  307.     $(CCSYM) $@ termlib.c
  308.  
  309. obj/ui.o:    ui.c
  310.     $(CCSYM) $@ ui.c
  311.  
  312. obj/undo.o:    undo.c
  313.     $(CCSYM) $@ undo.c
  314.  
  315. obj/window.o:    window.c
  316.     $(CCSYM) $@ window.c
  317.